The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Tracking the activities of users that download and engage with computer program applications (“apps”) for mobile computing devices is an important goal of such app vendors. One approach used to track such activities is to obtain unique device identifiers for the end users' mobile computing devices. The unique device identifiers in the context of APPLE IPHONE devices running APPLE's iOS operating system take a variety of forms, including UDID, MAC Address, advertisingIdentifier, Vendor ID, and other equivalent values or fields that are sufficiently unique to identify individual devices (collectively, “UIDs”). In current practice, server computers that are in contact with Apple iOS based apps are able to request and obtain any of these UID values from mobile computing devices, however, only the UDID is accessible by mobile browsers on Apple iOS based devices through a provisioning profile. Therefore, on Apple iOS devices, the ability to associate app-based activities with browser-based activities for individual users is hindered whenever app-based activities do not have access to the UDID of a given device.
A protocol handler provides communication services allowing one computing device or software application to send data to other devices or software applications under specific communication rules specified by the protocol. Simple Mail Transfer Protocol (SMTP) and File Transfer Protocol (FTP) are examples of protocols that may be associated with protocol handlers, which interpret messages or requests that conform to those protocols. Protocol handlers have been used for the purpose of launching apps or passing data on or between mobile computing devices or other devices. For example, it has been possible for a first app to invoke a function of a second app by using an inter-app messaging facility to send a request, formatted according to the second app's protocol. However, these mechanisms are not always practical in particular contexts.